package com.yantong.service;

import com.yantong.pojo.Dispatch;
import com.yantong.pojo.LifeConfig;
import com.yantong.pojo.*;

import java.util.List;

/**
 * 平台配置服务
 * @author kanghaixin
 * @date 2018/8/26.14:54
 */
public interface ConfigService {
    /**
     * 通过配置key或者配置信息
     * @param configKey
     * @return
     */
    PlatformConfig getConfigByKey(String configKey);

    /**
     * 获取配置
     * @param configKey
     * @param centreId
     * @return
     */
    PlatformConfig getConfigByKey(String configKey, Long centreId);
    
    /**
     * 获取配置
     * @param configKey
     * @param centreId
     * @return
     */
    PlatformConfig getPlatformConfigByKey(String configKey, Long centreId);

    /**
     * 更新配置
     * @param platformConfig
     * @return
     */
    int updateConfig(PlatformConfig platformConfig);

    /**
     * 获取图片访问前缀
     * @return
     */
    String getImgPrefix();

    /**
     * 获取交易配置信息
     * @param centreId
     * @return
     */
    TradeConfig getTradeConfig(Long centreId);

	/**
	 * 获取交易配置信息
	 * @param centreId
	 * @return
	 */
	LifeConfig getLifeConfig(Long centreId);

	/**
	 * 获取电子名片配置信息
	 * @param centreId
	 * @return
	 */
	CardConfig getCardConfig(Long centreId);

    /**
     * 获取OSS配置信息
     * @param configKey
     * @return
     */
    OssConfig getOssConfig(String configKey);

    /**
     * 获取基础配置
     * @return
     */
    BaseConfig getBaseConfig();

	/**
	 * 获取基础配置
	 * @return
	 */
	BaseConfig getBaseConfig(Long centreId);

	/**
	 * 获取佣金配置
	 * @return
	 */
	CommisConfig getCommissionConfig(Long centreId);

	CommisConfig getCommissionConfigByCentreId(Long centreId);

    /**
     * 获取页脚设置
     * @param centreId
     * @return
     */
    FooterConfig getFooterConfig(Long centreId);

    /**
     * 获取分享配置
     * @param centreId 商户ID
     * @return
     */
    ShareConfig getShareConfig(Long centreId);

	/**
	 * 获取资产配置
	 * @param centreId 商户ID
	 * @return
	 */
	AssetConfig getAssetConfig(Long centreId);

}
